草庐IT

c++ - WinAPI : Add style to combo box

全部标签

c++ - 一个使用 libvlc 播放 mp3 的简单 C 程序

我是一名普通的C/C++程序员。最近我接手了一个项目,制作一个带有智能播放列表的媒体播放器,它可以像Zune的SmartDj一样工作。我决定用libvlc来玩。我以前从未写过开源软件的代码,所以我对git一无所知。你能帮我至少写一个C程序来播放mp3文件吗?我应该从哪里开始?如何从mp3文件本身中提取歌曲的艺术家和其他信息?问候。 最佳答案 确保您已经安装了以下软件包(否则请安装):$apt-getinstalllibvlccore-devlibvlc-dev测试.c:#include#include#includeintmain(

c++ - OpenCV的Bayer转换使用什么算法?

我想实现一个GPUBayer到RGB图像转换算法,我想知道OpenCVcvtColor函数使用什么算法。查看源代码,我看到什么似乎是可变数量的梯度算法和可能是双线性插值的基本算法?有没有人有这方面的经验可以与我分享,或者可能知道从Bayer格式转换为BGR格式的GPU代码?源代码在imgproc/src/color.cpp。我正在寻找它的链接。Bayer2RGB_和Bayer2RGB_VNG_8u是我正在查看的函数。编辑:这是来源的链接。http://code.opencv.org/projects/opencv/repository/revisions/master/entry/mo

c++ - 这个 bitset::count() 的实现是如何工作的?

下面是std::bitset::count与MSVC2010的实现:size_tcount()const{//countnumberofsetbitsstaticchar_Bitsperhex[]="\0\1\1\2\1\2\2\3\1\2\2\3\2\3\3\4";size_t_Val=0;for(int_Wpos=_Words;0>=4)_Val+=_Bitsperhex[_Wordval&0xF];return(_Val);}有人可以向我解释这是如何工作的吗?_Bitsperhex有什么诀窍? 最佳答案 _Bitsperhex

c++ - 正确关闭 WinAPI HANDLEs(避免重复关闭)

我有一些句柄,我需要关闭它。代码中有些地方可能会关闭句柄。那么,这是关闭句柄的正确方法吗?HANDLEh;....if(h!=INVALID_HANDLE_VALUE){::CloseHandle(h);h=INVALID_HANDLE_VALUE;}关于位图句柄也有同样的问题:HBITMAPhb;....if(hb!=INVALID_HANDLE_VALUE){::DeleteObject(hb);hb=INVALID_HANDLE_VALUE;}编辑:我认为存在一些误解。我知道CloseHandle用于关闭句柄。我想知道关闭Handlebars的正确方法。删除指针时会发生类似的情况

c++ - eclipse-cdt中如何自动生成函数头注释?

有没有一种方法可以自动为eclipsecdt中的函数生成函数头文件?我看到相关帖子要求在函数头之前使用Alt+Shift+J或键入/**然后按Enter。但是我想知道是否有可能获得预定义的函数头。我试图在中定义我的格式C/C++>Codestyle>Codetemplates>Comments>Methods但找不到在代码中使用它的方法。 最佳答案 恐怕我有一个部分的答案:如果您转到window->preferences->C/C++->Editor并在Documentationtoolcomments下选择Doxygen,键入/*

c++ - 生成二维魔法六边形格子的算法

我正在尝试生成一个2D魔法六边形格子,(即我需要用C语言生成点的坐标)见附图,该图看起来像一个洋葱结构,其中较大的六边形内部有六边形等等.有人有想法吗?注意:如果有人在其他语言中有答案也没关系,我只需要看一下,这样我就可以开始构建自己的代码了。提前致谢。voidgenerate_particles(void){/*Generatestheparticle-positionsandchargeHereitindicatedtousethehexagonalreferential!!*/inti,j;intn=3;/*nrepresentthenthcenteredhexnumbergiv

c++ - GCC 会为运行时保留固定值的算术运算还是编译输出?

我想知道GCC是否会将具有固定值的算术保留在运行时执行,或者是否会将其设置为它的答案,例如。constfloathalfPi=M_PI/2;它会“归结”方程并设置constfloathalfPi=1.57079;还是将算法留给运行时? 最佳答案 嗯...如果我们谈论积分,答案将是明确的是(在通用术语ConstantFolding).即使冗长的计算也可以在编译时完成……这实际上是模板非类型参数评估和(现在)constexpr变量所必需的。在浮点表示的情况下,一旦计算变得更复杂,事情就会变得有点复杂。问题在于,不同大小(以及精度)的浮点

c++ - 将无符号字符写入和读取二进制文件

我正在编写一个简单的程序,该程序写入一个二进制文件,关闭它,然后读取刚刚写入的数据。我正在尝试编写一个无符号字符数组。我在读取数据时遇到了一些问题。我不确定我是在不正确地写入数据还是读取错误。当我读取数据时,我得到的输出为:5bytes表示读取的字节数,但我得到的输出与我写入文件的值不同。FILE*binFile=fopen("sample","wb");unsignedchardata[5]={5,10,15,20,25};fwrite(data,sizeof(unsignedchar),sizeof(data),binFile);fclose(binFile);unsignedch

c++ - 位操作 : keeping the common part at the left of the last different bit

考虑两个用二进制写的数字(左边是MSB):X=x7x6x5x4x3x2x1x0和Y=y7y6y5y4y3y2y1y0这些数字可以有任意位数,但都是同一类型。现在考虑x7==y7、x6==y6、x5==y5,但是x4!=y4。如何计算:Z=x7x6x500000或者换句话说,如何有效地计算一个数字,使公共(public)部分保持在最后一个不同位的左侧?templateinlineTf(constTx,constTy){//Somethinghere}例如,对于:x=10100101y=10110010它应该返回z=10100000注意:这是为了super计算的目的,这个操作将被执行数千亿

c++ - 缩小从 int 到 long unsigned int {} 的转换在 C++11 中格式错误

当我运行以下代码时-我收到警告“在C++11[-Wnarrowing]中,{}中从int到longunsignedint的缩小转换是错误的。我正在使用GNU4.8编译器。typedefstructTableEntry{unsignedlongvalue;constchar*label;}TableEntry;enumFunctionType{NORMAL=0,RANGE=1};TableEntryfunctionTypes[]={{NORMAL,"NORMAL"},{RANGE,"RANGE"}};我不明白为什么编译器将枚举视为整数?这是GCC4.8中的错误吗?有什么解决方法吗?任何帮